package com.master.iu;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.master.ed.ConhecimentoED;
import com.master.ed.Fluxo_CaixaED;
import com.master.rn.ConhecimentoRelRN;
import com.master.rn.Fluxo_CaixaRN;
import com.master.util.Excecoes;
import com.master.util.bd.ExecutaSQL;
import com.master.util.Utilitaria;

public class Fin103Bean {

  private ExecutaSQL executasql;
  Utilitaria util = new Utilitaria (executasql);


  public ArrayList exportaFluxo (HttpServletRequest request) throws Exception {

	    Fluxo_CaixaED ed = new Fluxo_CaixaED ();
	    ed = this.carregaED(request);

	    return new Fluxo_CaixaRN ().exportaFluxo (ed);

	  }


  public Fluxo_CaixaED inclui (HttpServletRequest request) throws Excecoes {

    Fluxo_CaixaED ed = new Fluxo_CaixaED ();
    ed = this.carregaED(request);

    return new Fluxo_CaixaRN ().inclui (ed);
  }


  public void altera (HttpServletRequest request) throws Excecoes {

    Fluxo_CaixaED ed = new Fluxo_CaixaED ();
    ed = this.carregaED(request);

    new Fluxo_CaixaRN ().altera (ed);
  }


  public void aprova_Pagamento (HttpServletRequest request) throws Excecoes {

    Fluxo_CaixaED ed = new Fluxo_CaixaED ();

    String oid_Compromisso = request.getParameter ("oid_Compromisso");
    if (util.doValida (oid_Compromisso)) {
      ed.setOid_Compromisso (Long.valueOf (oid_Compromisso).longValue ());
    }
    ed.setOid_Conta_Corrente (request.getParameter ("oid_Conta_Corrente"));

    String VL_Aprovacao_Pagamento = request.getParameter ("FT_VL_Aprovacao_Pagamento");
    if (util.doValida (VL_Aprovacao_Pagamento)) {
	    ed.setVL_Aprovacao_Pagamento (new Double (request.getParameter ("FT_VL_Aprovacao_Pagamento")).doubleValue ());
    }

    new Fluxo_CaixaRN ().aprova_Pagamento (ed);
  }


  public void deleta (HttpServletRequest request) throws Excecoes {

    Fluxo_CaixaED ed = new Fluxo_CaixaED ();
    ed.setOid_Fluxo_Caixa (new Long (request.getParameter ("oid_Fluxo_Caixa")).longValue ());

    new Fluxo_CaixaRN ().deleta (ed);
  }

  public ArrayList Fluxo_Caixa_Lista (HttpServletRequest request) throws Excecoes {

    Fluxo_CaixaED ed = new Fluxo_CaixaED ();
    ed = this.carregaED(request);

    return new Fluxo_CaixaRN ().lista (ed);
  }

  public ArrayList listaSaldoConta_Corrente (HttpServletRequest request) throws Excecoes {

	    Fluxo_CaixaED ed = new Fluxo_CaixaED ();
	    ed = this.carregaED(request);

	    return new Fluxo_CaixaRN ().listaSaldoConta_Corrente (ed);
  }

  public ArrayList listaFluxoCaixaDia (HttpServletRequest request) throws Excecoes {

	    Fluxo_CaixaED ed = new Fluxo_CaixaED ();
	    ed = this.carregaED(request);

	    return new Fluxo_CaixaRN ().listaFluxoCaixaDia (ed);
  }

  public ArrayList listaFluxoCaixaConta (HttpServletRequest request) throws Excecoes {

	    Fluxo_CaixaED ed = new Fluxo_CaixaED ();
	    ed = this.carregaED(request);

	    return new Fluxo_CaixaRN ().listaFluxoCaixaConta (ed);
}

  public ArrayList listaTitulos (HttpServletRequest request) throws Excecoes {

	    Fluxo_CaixaED ed = new Fluxo_CaixaED ();
	    ed = this.carregaED(request);

	    return new Fluxo_CaixaRN ().listaTitulos (ed);
  }

  public ArrayList listaCheques (HttpServletRequest request) throws Excecoes {

	    Fluxo_CaixaED ed = new Fluxo_CaixaED ();
	    ed = this.carregaED(request);

	    return new Fluxo_CaixaRN ().listaCheques (ed);
}

  public ArrayList listaCompromissos (HttpServletRequest request) throws Excecoes {

	    Fluxo_CaixaED ed = new Fluxo_CaixaED ();
	    ed = this.carregaED(request);

	    return new Fluxo_CaixaRN ().listaCompromissos (ed);
}


  public ArrayList listaCompras (HttpServletRequest request) throws Excecoes {

	    Fluxo_CaixaED ed = new Fluxo_CaixaED ();

	    // // ("listaCompras 1");

	    ed = this.carregaED(request);

	    // // ("listaCompras 2");

	    return new Fluxo_CaixaRN ().listaCompras (ed);
}


  public Fluxo_CaixaED getByRecord (HttpServletRequest request) throws Excecoes {

    Fluxo_CaixaED ed = new Fluxo_CaixaED ();

    String oid_Fluxo_Caixa = request.getParameter ("oid_Fluxo_Caixa");
    if (util.doValida (oid_Fluxo_Caixa)) {
      ed.setOid_Fluxo_Caixa (new Long (request.getParameter ("oid_Fluxo_Caixa")).longValue ());
    }
    return new Fluxo_CaixaRN ().getByRecord (ed);
  }

  public Fluxo_CaixaED carregaED (HttpServletRequest request) throws Excecoes {

	    Fluxo_CaixaED ed = new Fluxo_CaixaED ();

	    String oid_Fluxo_Caixa = request.getParameter ("oid_Fluxo_Caixa");
	    if (util.doValida (oid_Fluxo_Caixa)) {
	      ed.setOid_Fluxo_Caixa(new Long (request.getParameter ("oid_Fluxo_Caixa")).longValue());
	    }

	    String oid_Conta_Corrente = request.getParameter ("oid_Conta_Corrente");
	    if (util.doValida (oid_Conta_Corrente)) {
		      ed.setOid_Conta_Corrente(oid_Conta_Corrente);
		}

	    String oid_Empresa = request.getParameter ("oid_Empresa");
	    ed.setOID_Empresa (0);
	    if (util.doValida (oid_Empresa) && !"NaN".equals(oid_Empresa)) {
	      ed.setOID_Empresa (Long.valueOf (oid_Empresa).longValue ());
	    }

	    // // ("oid_Empresa=" + oid_Empresa);

	    String oid_Unidade = request.getParameter ("oid_Unidade");
	    if (util.doValida (oid_Unidade)) {
	      ed.setOid_Unidade (new Long (request.getParameter ("oid_Unidade")));
	    }

	    String oid_Conta = request.getParameter ("oid_Conta");
	    if (util.doValida (oid_Conta)) {
	      ed.setOid_Conta (new Long (request.getParameter ("oid_Conta")));
	    }

	    String OID_Usuario = request.getParameter ("oid_Usuario");
	    if (util.doValida (OID_Usuario)) {
	      ed.setOID_Usuario (new Long (OID_Usuario).longValue ());
	    }

	    ed.setDT_Fluxo (request.getParameter ("FT_DT_Fluxo"));
	    ed.setDT_Inicial (request.getParameter ("FT_DT_Inicial"));
	    ed.setDT_Final (request.getParameter ("FT_DT_Final"));
	    ed.setOid_Conta_Corrente (request.getParameter ("oid_Conta_Corrente"));
	    ed.setDM_Relatorio (request.getParameter ("FT_DM_Relatorio"));
	    ed.setDM_Previsto_Realizado (request.getParameter ("FT_DM_Previsto_Realizado"));

	    ed.setDM_Atualiza_Saldo (request.getParameter ("FT_DM_Atualiza_Saldo"));
	    ed.setDM_Pagamentos (request.getParameter ("FT_DM_Pagamentos"));
	    ed.setDM_Entrada_Saida (request.getParameter ("FT_DM_Entrada_Saida"));
	    ed.setNR_Documento (request.getParameter ("FT_NR_Documento"));
	    ed.setDM_Carteira(request.getParameter ("FT_DM_Carteira"));
	    ed.setNR_Dias (1);
	    String NR_Dias = request.getParameter ("FT_NR_Dias");
	    if (util.doValida (NR_Dias)) {
	      ed.setNR_Dias (Long.valueOf (NR_Dias).longValue ());
	    }

	    ed.setTX_Observacao (" ");
	    String TX_Observacao = request.getParameter ("FT_TX_Observacao");
	    if (util.doValida (TX_Observacao)) {
	      ed.setTX_Observacao (TX_Observacao);
	    }

	    ed.setNM_Fluxo (" ");
	    String NM_Fluxo = request.getParameter ("FT_NM_Fluxo");
	    if (util.doValida (NM_Fluxo)) {
	      ed.setNM_Fluxo (NM_Fluxo);
	    }

	    ed.setDM_Fluxo (request.getParameter ("FT_DM_Fluxo"));
	    ed.setDM_Tipo_Lancamento ("L");
	    ed.setDM_Situacao ("L");

	    String VL_Fluxo = request.getParameter ("FT_VL_Fluxo");
	    if (util.doValida (VL_Fluxo)) {
		    ed.setVL_Fluxo (new Double (request.getParameter ("FT_VL_Fluxo")).doubleValue ());
	    }

	    String vl_Cotacao_Informada = request.getParameter ("FT_VL_Cotacao_Informada");
	    if (util.doValida (vl_Cotacao_Informada)) {
	      ed.setVL_Cotacao_Informada (Double.valueOf (vl_Cotacao_Informada).doubleValue ());
	    }

	    return ed;
	  }

}
